`:top
The `!Parallel Patterns Library`! is a `F33f`_`[Microsoft`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Microsoft]`_`f library designed for use by native C++ developers that provides features for `F33f`_`[multicore programming`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Multicore_programming]`_`f.`:cite-ref-1[`F5bf`_`[1`#cite-note-1]`_`f] It was first bundled with `F33f`_`[Visual Studio 2010`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Visual_Studio_2010]`_`f. It resembles the `F33f`_`[C++ Standard Library`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=C++_Standard_Library]`_`f in style and works well with the C++11 language feature, lambdas, also introduced with `F33f`_`[Visual Studio 2010`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Visual_Studio_2010]`_`f.
For example, this sequential loop:
`B100`F9d9for (int x=0; x < width; ++x)`f`b
`B100`F9d9{`f`b
`B100`F9d9 // Something parallelizable`f`b
`B100`F9d9}`f`b
Can be made into a parallel loop by replacing the for with a `B100`F9d9parallel_for`f`b:
`B100`F9d9#include <ppl.h>`f`b
`B100`F9d9// . . .`f`b
`B100`F9d9Concurrency::parallel_for (0, width, [=](int x)`f`b
`B100`F9d9{`f`b
`B100`F9d9 // Something parallelizable`f`b
`B100`F9d9});`f`b
This still requires the developer to know that the loop is parallelizable, but all the other work is done by the library.
MSDN`:cite-ref-2[`F5bf`_`[2`#cite-note-2]`_`f] describes the Parallel Patterns Library as an "imperative programming model that promotes scalability and ease-of-use for developing concurrent applications." It uses the Concurrency Runtime for scheduling and resource management and provides generic, type-safe algorithms and containers for use in parallel applications.
>>References
`:cite-note-1`!1.`! `F0af`_`[↑`#cite-ref-1]`_`f "The Visual C++ Weekly". March 12, 2011. Archived from the original on October 8, 2011. Retrieved August 14, 2011.
`:cite-note-2`!2.`! `F0af`_`[↑`#cite-ref-2]`_`f "Parallel Patterns Library (PPL) on MSDN". 3 August 2021.
`c`F0af`_`[↑ Back to top`#top]`_`f`a